package com.mydomain.Bodega;
// Generated 09-oct-2009 21:00:47 by Hibernate Tools 3.2.2.GA

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import org.jboss.seam.annotations.Name;

/**
 * InvIngreso generated by hbm2java
 */
@Entity
@Name("invIngreso")
@Table(name = "inv_ingreso", schema = "public")
public class InvIngreso implements java.io.Serializable {

	private long ingCodigo;
	private InvProveedor invProveedor;
	private Subdepartamento subdepartamento;
	private Date ingFecha;
	private String ingObservacion;
	private Long ingNumFactura;
	private BigDecimal ingPrecioTotal;
	private BigDecimal ingIva;
	private BigDecimal ingDescuento;
	private Integer depCodigo;
	private Long ingCur;
	private Set<InvIngresoItem> invIngresoItems = new HashSet<InvIngresoItem>(0);
	private transient String codigoProveedor;
	private transient long ManulingCodigo;
	private transient Date FechaManual;
	private transient String manualProveedor;
	private transient String manualtipoDeTransacion;
	private transient String  buscadorIngCodigo;
	private  transient String  buscadorProveedor;
	private transient BigDecimal varTotalIngresoNeto;
	
	
	
	@Transient
	public BigDecimal getVarTotalIngresoNeto() {
		return varTotalIngresoNeto;
	}


	public void setVarTotalIngresoNeto(BigDecimal varTotalIngresoNeto) {
		this.varTotalIngresoNeto = varTotalIngresoNeto;
	}


	@Transient
	public String getBuscadorProveedor() {
		return buscadorProveedor;
	}


	public void setBuscadorProveedor(String buscadorProveedor) {
		this.buscadorProveedor = buscadorProveedor;
	}


	@Transient
	public String getBuscadorIngCodigo() {
		return buscadorIngCodigo;
	}

	
	public void setBuscadorIngCodigo(String buscadorIngCodigo) {
		this.buscadorIngCodigo = buscadorIngCodigo;
	}

	@Transient
	public String getManualtipoDeTransacion() {
		return manualtipoDeTransacion;
	}

	public void setManualtipoDeTransacion(String manualtipoDeTransacion) {
		this.manualtipoDeTransacion = manualtipoDeTransacion;
	}

	@Transient
	public String getManualProveedor() {
		return manualProveedor;
	}

	public void setManualProveedor(String manualProveedor) {
		this.manualProveedor = manualProveedor;
	}

	@Transient
	public long getManulingCodigo() {
		return ManulingCodigo;
	}

	public void setManulingCodigo(long manulingCodigo) {
		ManulingCodigo = manulingCodigo;
	}

	

	@Transient
	public Date getFechaManual() {
		return FechaManual;
	}

	public void setFechaManual(Date fechaManual) {
		FechaManual = fechaManual;
	}

	@Transient
	public String getCodigoProveedor() {
		return codigoProveedor;
	}

	public void setCodigoProveedor(String codigoProveedor) {
		this.codigoProveedor = codigoProveedor;
	}
	public InvIngreso() {
	}

	public InvIngreso(long ingCodigo) {
		this.ingCodigo = ingCodigo;
	}
	public InvIngreso(long ingCodigo, InvProveedor invProveedor,
			Subdepartamento subdepartamento, Date ingFecha,
			String ingObservacion, Long ingNumFactura,
			BigDecimal ingPrecioTotal, BigDecimal ingIva,
			BigDecimal ingDescuento, Integer depCodigo,
			Set<InvIngresoItem> invIngresoItems) {
		this.ingCodigo = ingCodigo;
		this.invProveedor = invProveedor;
		this.subdepartamento = subdepartamento;
		this.ingFecha = ingFecha;
		this.ingObservacion = ingObservacion;
		this.ingNumFactura = ingNumFactura;
		this.ingPrecioTotal = ingPrecioTotal;
		this.ingIva = ingIva;
		this.ingDescuento = ingDescuento;
		this.depCodigo = depCodigo;
		this.invIngresoItems = invIngresoItems;
	}
	
	@Column(name = "ing_cur", precision = 10, scale = 0)
	public Long getIngCur() {
		return this.ingCur;
	}

	public void setIngCur(Long ingCur) {
		this.ingCur = ingCur;
	}
	@Id
	@Column(name = "ing_codigo", unique = true, nullable = false, precision = 10, scale = 0)
	@NotNull
	@GeneratedValue(strategy=GenerationType.AUTO)
	public long getIngCodigo() {
		return this.ingCodigo;
	}

	public void setIngCodigo(long ingCodigo) {
		this.ingCodigo = ingCodigo;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "pro_codigo")
	public InvProveedor getInvProveedor() {
		return this.invProveedor;
	}

	public void setInvProveedor(InvProveedor invProveedor) {
		this.invProveedor = invProveedor;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "subdep_codigo")
	public Subdepartamento getSubdepartamento() {
		return this.subdepartamento;
	}

	public void setSubdepartamento(Subdepartamento subdepartamento) {
		this.subdepartamento = subdepartamento;
	}
	@Temporal(TemporalType.DATE)
	@Column(name = "ing_fecha", length = 13)
	public Date getIngFecha() {
		return this.ingFecha;
	}

	public void setIngFecha(Date ingFecha) {
		this.ingFecha = ingFecha;
	}

	@Column(name = "ing_observacion", length = 100)
	@Length(max = 100)
	public String getIngObservacion() {
		return this.ingObservacion;
	}

	public void setIngObservacion(String ingObservacion) {
		this.ingObservacion = ingObservacion;
	}

	@Column(name = "ing_num_factura", precision = 10, scale = 0)
	public Long getIngNumFactura() {
		return this.ingNumFactura;
	}

	public void setIngNumFactura(Long ingNumFactura) {
		this.ingNumFactura = ingNumFactura;
	}

	@Column(name = "ing_precio_total", precision = 13, scale = 4)
	public BigDecimal getIngPrecioTotal() {
		return this.ingPrecioTotal;
	}

	public void setIngPrecioTotal(BigDecimal ingPrecioTotal) {
		this.ingPrecioTotal = ingPrecioTotal;
	}

	@Column(name = "ing_iva", precision = 13, scale = 4)
	public BigDecimal getIngIva() {
		return this.ingIva;
	}

	public void setIngIva(BigDecimal ingIva) {
		this.ingIva = ingIva;
	}

	@Column(name = "ing_descuento", precision = 13, scale = 4)
	public BigDecimal getIngDescuento() {
		return this.ingDescuento;
	}

	public void setIngDescuento(BigDecimal ingDescuento) {
		this.ingDescuento = ingDescuento;
	}

	@Column(name = "dep_codigo", precision = 5, scale = 0)
	public Integer getDepCodigo() {
		return this.depCodigo;
	}

	public void setDepCodigo(Integer depCodigo) {
		this.depCodigo = depCodigo;
	}
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "invIngreso")
	public Set<InvIngresoItem> getInvIngresoItems() {
		return this.invIngresoItems;
	}

	public void setInvIngresoItems(Set<InvIngresoItem> invIngresoItems) {
		this.invIngresoItems = invIngresoItems;
	}

}
